# 使用 Node.js 22 的精简 Alpine 版本
FROM node:lts-alpine

LABEL maintainer="ztaonet"

# 设置工作目录
WORKDIR /usr/server

# 使用国内 npm 镜像源
RUN npm config set registry https://registry.npmmirror.com/

# 安装 pm2
RUN npm install -g pm2

# 复制依赖文件并安装依赖
COPY package*.json ./
RUN npm ci

# 复制项目全部文件
COPY . .

# 暴露端口
EXPOSE 8888
EXPOSE 3000

# 使用 pm2-runtime 启动应用
CMD ["pm2-runtime", "ecosystem.config.js", "--env", "production"]
